package com.zretc.aop.log;

import org.aspectj.lang.ProceedingJoinPoint;

/**
 * 3-> 自定义切面(通用的功能，这个功能可能给sendMessage, Userservice。。。。。。)
 * 
 * @author Administrator
 *
 */
public class LogAop {

	/**
	 * 切面before,前置通知(什么时候执行)的方法
	 */
	public void before() {
		System.out.println("执行之前的输出: " + System.currentTimeMillis());
	}

	/**
	 * 切面after,后置通知(什么时候执行)的方法
	 */
	public void after() {
		System.out.println("执行之后的输出: " + System.currentTimeMillis());
	}

	/**
	 * 环绕通知
	 * @param pjp
	 * @return
	 * @throws Throwable
	 */
	public Object around(ProceedingJoinPoint pjp) throws Throwable {

		System.out.println("around 执行之前的输出: " + System.currentTimeMillis());
		// 调用业务方法
		Object result = pjp.proceed();
		System.out.println("around 执行之后的输出: " + System.currentTimeMillis());

		return result;
	}
}
